The present invention relates to management of a storage system having a plurality of storage volumes.
Data is the underlying resources on which all computing processes are based. With the recent explosive growth of the Internet and e-business, the demand on data storage systems has increased tremendously. There are many types of storage devices, e.g., semiconductor devices, magnetic disk, and magnetic tapes, that may be used to store data. Each of these types of storage devices have different access speeds and costs associated thereto. The semiconductor devices are generally the fastest and also the most expensive. Accordingly, they are not commonly used in data centers where massive amounts of data need to be stored.
Generally, magnetic disks and tapes are the storage devices of choice for the data centers since they tend to be considerably cheaper than the semiconductor devices. The storage system for a data center generally has multiple processors and includes sophisticated operating systems for quickly reading and writing massive amounts of data.
Data centers or storage systems commonly includes a plurality of storage units or subsystems. Some are configured to be primary storage devices, and others are configured to be secondary storage devices. The primary storage devices are designed to store active data that users may access, whereas the secondary storage devices serves as back-up devices to be used in case the primary storage devices experience failure. The secondary devices are also used to store or archive “inactive” or “stale” data that the primary device does not need, so that the storage capacity of the primary devices may be freed-up for new data. The primary storage device is located at a primary site, and the secondary storage device is located at a secondary site that may be dozens, hundreds, or even thousands of miles apart from the primary site.
These data centers are linked using Storage Area Networks (SANs). The SAN is a back-end network that is used to link a plurality of storage subsystems to each other and to link a plurality of hosts to these storage subsystems. The SAN enables makes sharing of storage capacities of the subsystems easy since a host computer may access a multiple storage devices or subsystems by simply connecting the host to a SAN rather than directly connecting the host to each of these multiple storage devices.
While the intended purpose of the SAN is to provide simplified storage solutions, the implementation and maintenance of a SAN solution may become quite complicated. The administrative overhead associated with the SAN and storage subsystems attached thereto can be quite high as the SAN configuration becomes more and more complicated. One solution to this administrative headache is to provide storage virtualization.
Storage virtualization is a layer of abstraction that separates the representation of storage from physical storage devices. In a typical configuration, a multiple physical storage devices is aggregated into a single virtual storage pool. The storage volumes associated with the virtual pool are made appear as locally attached logical devices to the host even though the logical devices are indirectly linked to the host via a virtualized storage subsystem. Accordingly, the virtualization enables the IT administrators the freedom to provision the available storage volumes in the virtual pool as SAN or NAS volumes, or both.
One problem associated with storage virtualization is that a storage subsystem (or virtualized storage subsystem) which uses storage resources or volumes of another storage subsystem cannot control the attributes of such storage resources. The attributes control the access policy of logical units or volumes.